草庐IT

mysql GRANT + WHERE

全部标签

mysql - 将值与 where 子句中的串联字段进行比较

假设我要搜索用户“RichardBest”。是否可以比较全名是否连接了名字和姓氏?我没有全名字段。select*fromuserswherelast_name+''+first_namelike'%richa%'我正在使用Mysql 最佳答案 这些是等价的:select*fromuserswhereconcat(last_name,'',first_name)like'%richa%'select*fromuserswhereconcat_ws('',last_name,first_name)like'%richa%'这也可能有效:

mysql - Where A=1 AND A=2 returns 0 row problem - (Short Mysql question)

我有下表(id,Tag)具有以下值(1,17)(1,31)(2,17)(3,31)当我查询以下内容时"SELECTidFROMtableWHERE1ANDTag=17ANDTag=31"我希望它返回(id)(1)但事实并非如此。(返回0行)这里有什么问题吗? 最佳答案 对于任何特定行,标记不能同时为17和31。YouneedSELECTidFROMtableWHERETagin(17,31)GROUPBYidHAVINGCOUNT(DISTINCTTag)=2 关于mysql-Where

Where 子句中的 MySQL IF 条件

是否可以通过IF条件来决定我要选择哪个Where子句。类似于:IF(DATE_FORMAT(DATE(akDate),'%a')='SAT',USEWHERECLAUSE1,USEWHERECLAUSE2) 最佳答案 在这种情况下,您仍然可以使用相当常见的WHERE语句来编写,例如:...WHERE((DATE_FORMAT(DATE(akDate),'%a')='SAT')AND(WHERECLAUSE1))OR((DATE_FORMAT(DATE(akDate),'%a')!='SAT')AND(WHERECLAUSE2))当然

php - 在具有多个 where 子句的 Active Record 中使用 find()

我想在ActiveRecord查询之后将(使用括号)分成3组。第一组将从第一个“Where”子句到最后一个“orWhere”。第二个和第三个将使用“andWhere”。请给我一些建议,告诉我如何使用方括号来分隔所有3个部分。$query=Book::find()->where('book_nameLIKE:book_name',array(':book_name'=>'%'.$book_name.'%'))->orWhere('book_categoryLIKE:book_category',array(':book_category'=>'%'.$category.'%'))->or

php - Codeigniter like, or_like 不适用于 where

我在我的codeigniter应用程序中发现了一个问题。我使用4个不同的like和or_like编写了一个简单的搜索查询。$q=$this->db->select('*')->from('table')->like('col',$search_string1,both)->or_like('col',$search_string2,both)->or_like('col',$search_string3,both)->or_like('col',$search_string4,both)->get()->results它按我想要的方式工作,但我决定在我的表中添加名为“active”的新

php - 如何将 WHERE 用于自定义字段(别名)?

我如何完成这样的查询:SELECTtype,COUNT(name)ascntFROMproductsWHEREcnt>1GROUPBYtype该查询产生错误#1054-Unknowncolumn'cnt'in'whereclause'这是因为WHERE在分组之前应用。我该如何解决这个问题?表结构:idnametypeprice123451Park'sGreatHitsMusic19.99123452SillyPuddyToy3.99123453PlaystationToy89.95123454Men'sT-ShirtClothing32.50123455BlouseClothing34

php - 带数组的 ActiveRecord where_in()

这个问题不太可能帮助任何future的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visitthehelpcenter.关闭9年前。我已经尝试了几种不同的方法来解决这个问题,但到目前为止还没有解决方案。我收到此错误消息:“where子句”中的未知列“Array”SELECT*FROM(Articles)WHEREidIN(数组,数组,数组,数组,数组,数组,数组,数组,数组,数组,数组,数组,数组,数组,数组,数组,数组,数组,数组,数组,数组,数组,数组,数组,数组,数组,数组,数组

php - 如何排序查询结果与 WHERE 条件中指定的 id 相同?

我有这样的问题SELECT*FROMtestJOINtest2ONtest.id=test2.idWHEREtest.idIN(562,553,572)GROUPBYtest.id它的结果是这样排序的:553、562、572……但我需要与我在IN(562,553,572)条件中指定的顺序相同。 最佳答案 您可以使用FIELD()执行此操作:SELECT...ORDERBYFIELD(`test`.`id`,562,553,572) 关于php-如何排序查询结果与WHERE条件中指定的id

MySQL 条件 Where 子句

基本上,当meta_key字段等于“位置”时,我想添加一个额外的where子句以根据该位置进行比较。我已经尝试过使用Case和IF语句进行此操作,但似乎无法使其正常工作,您知道我哪里出错了吗?$query="SELECTwp_posts.ID,wp_posts.post_title,wp_posts.post_type,wp_postmeta.meta_key,wp_postmeta.meta_value,wp_postmeta.post_id,wp_term_relationships.object_id,wp_term_relationships.term_taxonomy_id,

mysql - MySQL临时变量可以用在WHERE子句中吗?

在MySQL中,WHERE子句中可以使用临时变量吗?例如,在下面的查询中:SELECT`id`,@var:=`id`*2FROM`user`@var成功设置为`id`值的两倍但是,如果我尝试过滤结果集以仅包含@var小于10的结果:SELECT`id`,@var:=`id`*2FROM`user`WHERE@var然后我没有得到任何结果。如何根据@var的值过滤结果? 最佳答案 您需要分配一个别名,并在HAVING子句中测试它:SELECTid,@var:=id*2ASid_times_2FROMuserHAVINGid_times